Inheritance Management and Method Dispatch in Reeexive Object-oriented Languages

نویسندگان

  • Wade Holst
  • Duane Szafron
چکیده

A collection of algorithms and data structures are presented which represent a generalized framework for inheritance management and method dispatch in reeexive, dynamically typed, single-receiver languages with type/implementation-paired multiple inheritance. By storing a small amount of information, the algorithms can incrementally maintain the entire dispatch environment during the four fundamental environment modiication requests { adding/removing selectors to/from classes and adding/removing class hierarchy links. By merging inheritance management, inheritance connict detection and method dispatch calculation, the algorithms are computationally eecient, and can be used to maintain dispatch information even in a reeexive environment. The algorithms are applicable to all table-based method dispatch techniques and require the use of only a few dispatch-speciic functions. A group of object-oriented classes are used to implement both the technique-independent and technique-dependent algorithms, providing a complete framework for table-based method dispatch. Although general enough to apply to reeexive languages, the framework is also useful in statically typed languages, as it incrementally computes hierarchy information needed by the compiler to establish which method addresses can be uniquely identiied during compilation. This allows compile-time optimizations instead of a runtime table look-up. The framework can and will be extended to multi-method languages.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Incremental Table-based Method Dispatch for Reeexive Object-oriented Languages

A collection of algorithms and data structures are presented which provide incremental dispatch table modiication. Incrementally modiied dispatch tables allow table-based dispatch techniques to be used in reeexive, dynamically typed, single-receiver languages with type/implementation-paired multiple inheritance. By storing a small amount of information, the algorithms can incrementally maintain...

متن کامل

A General Framework for Inheritance Management and Method Dispatch in Object-Oriented Languages

This paperpresents the DT Framework, a collection of object-oriented classes representing a generalized framework for inheritance management and table-based method dispatch. It demonstrates how most existing table-based dispatch techniques can be generalized and made incremental, so that relevant entries in the dispatch table are modified each time a selector or class hierarchy link is added or...

متن کامل

A Framework For Inheritance Management and Method Dispatch

Most object-oriented frameworks are motivated by industry, and are developed for a particular application domain, like user interfaces, or database management. The framework presented here is somewhat unusual in that the framework is used to implement object-oriented languages. We will make a distinction between the framework client (the software that invokes the framework) and the framework us...

متن کامل

Incremental Table-Based Method Dispatch for Reflective Object-Oriented Languages

A collection of algorithms and data structures are presented which provide incremental dispatch table modification. Incrementally modified dispatch tables allow table-based dispatch techniques to be used in reflective, dynamically typed, single-receiver languages with type/implementation-paired multiple inheritance. By storing a small amount of information, the algorithms can incrementally main...

متن کامل

Compact Dispatch Tables for Dynamically Typed Object Oriented Languages

Dynamically typed object-oriented languages must perform dynamic binding for most message sends. Typically this is slow. A number of papers have reported on attempts to adapt C++-style selector table indexing to dynamically typed languages, but it is difficul to generate space-efficient tables. Our algorithm generates considerably smaller dispatch tables for languages with single inheritance th...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1996